package com.smart.community.region.vo;

import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 建筑类型基础分类VO
 * 
 * @author Wu.Liang
 * @since 2025-01-30
 */
@Data
public class BuildingTypeCategoryVO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 分类ID
     */
    private Long id;

    /**
     * 父分类ID，0表示顶级分类
     */
    private Long parentId;

    /**
     * 分类名称
     */
    private String categoryName;

    /**
     * 分类编码
     */
    private String categoryCode;

    /**
     * 分类类型：DIVISION-划分方式，TYPE-具体类型
     */
    private String categoryType;

    /**
     * 划分方式：PURPOSE-用途，STRUCTURE-结构，HEIGHT-高度，PROPERTY-产权，LAYOUT-户型，STYLE-风格
     */
    private String divisionType;

    /**
     * 分类描述
     */
    private String description;

    /**
     * 排序
     */
    private Integer sortOrder;

    /**
     * 状态：0-禁用，1-启用
     */
    private Integer status;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 备注
     */
    private String remark;

    /**
     * 子分类列表
     */
    private List<BuildingTypeCategoryVO> children;
}
